{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf100
{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;}
{\colortbl;\red255\green255\blue255;}
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural

\f0\b\fs24 \cf0 Pawn Mac OS X Read Me\

\f1\b0 by Allen Cronce, 08-Aug-2005\
\
Although it's been proposed that it should be possible to build Pawn using CMake, I'm more comfortable with IDE build systems. So I created an Xcode project that builds the Pawn libraries and tools. With Xcode, you can easily modify build parameters, dependancies, etc., via a fairly intuitive GUI.\
\
\

\f0\b Requirements
\f1\b0 \
In order to build Pawn using the included Xcode project, you need to install Mac OS X 10.4 or greater and Xcode 2.1 or greater.\
\
In order to download Xcode, you may need to get a free ADC account from Apple. Please see the Apple developer site here for more details:\
\
http://developer.apple.com/\
\
If you wish to build i386 or Universal Binaries to be used on Intel-based Macs, you must also install Apple's cross platform SDK. The SDK is included with the Xcode 2.1 installer, but at the time of this writing, the installer does not install the SDK by default. You must perform a "Custom" install of Xcode and include the SDK explicitly.\
\
\

\f0\b Building with Xcode\

\f1\b0 To build Pawn with Xcode, please follow these instructions:\
\
1. Install Mac OS X 10.4 or greater and Xcode 2.1 or greater as needed.\
2. Double click the included pawn.xcodeproj project package.\
3. Select "Build All" from the "Active Target" popup and press the "Build" button.\
\
The result will build the Pawn libraries and tools in the following folder:\
\
source/macosx/build/Release/\
\
Note that you can also build the Debug variants if you like by selecting "Debug" as the "Active Build Configuration". You can also build each individual target as needed. These targets include:\
\
compiler library - builds the libpawnc.a Pawn compiler static library\
compiler tool	- builds the pawncc command line compiler tool\
amx library - builds the libamx.a Pawn AMX static library\
runtime tool - builds the pawnrun command line compiler tool\
debug tool - builds the pawndbg command line compiler tool\
getch test tool - used strictly to test the implementation of getch provided with Pawn.\
\
Note that currently the above targets are built using the latest installed gcc (v4.0 at the time this document was written) and the ppc architecture. If you need to use an older gcc, you may do so by changing any of the target's Rules. Further if you wish to build an i386 or Universal Binary version of the libraries or tools, you may do so by changing the desired architecture for the build configuration or target.\
\
\

\f0\b Compatibility\

\f1\b0 In theory the byte code binaries created with the Xcode built tools should be compatible with other platforms. So you should be able to take binaries created with the Mac OS X Pawn tools and run them on Windows, and vise versa.\
\
The assumption is that the native byte ordering of structures in a compiled executable are little endian by default. So when building the ppc version of the tools, byte swapping is performed as needed.\
\
Note that you may also build the i386 version of the tools (to run under an Intel based Mac) by changing the target's architecture. Although the project defaults to ppc, I built and tested the i386 build variants under an Intel Mac and it does work. Or at least it did at the time of this writing.\
\
\

\f0\b Known issues\

\f1\b0 * Warnings - When you build there are a ton of compiler warnings, primarily because I've left the default maximum warnings setting on. It was beyond the scope of what I was trying to do to clean up these warnings. If you are bothered by the warnings, you can either fix them or turn the warning level down.\
\
* Pawn Debugger - The pawndbg tool is a little cranky. I'm not that familiar with cross platform console programing. As a result, there are odd characters displayed where the terminal is not interpreting certain position or appearance byte sequences correctly. Basically the debugger works, but it's not pretty. Maybe someone with more experience in this area can improve the debugger experience under the Mac.\
\
}